function preorder(root,res){
    if(root === null){
        return;
    }
    res.push(root.val)
    preorder(root.left,res)
    preorder(root.right,res)
}

var preorderTraversal = function(root) {
    const res = [];
    
    res.push(root.val)
    preorderTraversal(root.left,res)
    preorderTraversal(root.right,res)
    return res;
};

// var preorderTraversal = function(root) {
//     const res = [];
//     const stack = [];
//     if(root){
//         stack.push(root)
//     }
//     while(stack.length){
//         const n = stack.pop();
//         res.push(n.val);
//         if(n.right){
//             stack.push(n.right)
//         }
//         if(n.left){
//             stack.push(n.left)
//         }
//     }
//     return res
// }